home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-172 < prev    next >
Text File  |  1988-12-01  |  23KB  |  976 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                         A SIMPLE MESSAGE GENERATOR
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                   IEN 172
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                              David Flood Page
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                9 March 1981
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                        Bolt, Beranek and Newman Inc.
  45.  
  46.  
  47.                              50 Moulton Street
  48.  
  49.  
  50.                       Cambridge, Massachusetts 02238
  51.      IEN 172                              Bolt Beranek and Newman Inc.
  52.  
  53.  
  54.  
  55.  
  56.                              TABLE OF CONTENTS
  57.  
  58.  
  59.  
  60.  
  61.                                                                   Page
  62.          1  Introduction                                             1
  63.          2  Overview of TRAF and the subset described here           1
  64.          3  The User-Server Interaction                              3
  65.          4  Message formats                                          6
  66.               4.1  User to Server Messages                           7
  67.               4.2  Server to user Messages                           7
  68.               4.3  Argument Structures                               8
  69.               4.4  Error Messages                                   12
  70.          5  Echo/Sink Servers                                       14
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.                                      i
  109.      IEN 172                              Bolt Beranek and Newman Inc.
  110.  
  111.  
  112.  
  113.  
  114.      1  Introduction
  115.  
  116.  
  117.           We  want  to  have  a controllable message generator for the
  118.  
  119.      Catenet that will be simple to implement.  There currently exists
  120.  
  121.      the TRAF system which was built to do  performance  measures  for
  122.  
  123.      another  project;  this  document  describes a subset of the TRAF
  124.  
  125.      facilities aimed at producing a simple message generator that can
  126.  
  127.      be controlled by the  existing  TRAF  control  system.    A  full
  128.  
  129.      specification and description of TRAF will be issued later.
  130.  
  131.  
  132.           Because  we  want it to be controllable by the existing TRAF
  133.  
  134.      control system, the server will have to  include  a  TCP.    This
  135.  
  136.      conflicts  slightly  with  the idea of a minimal server, but will
  137.  
  138.      allow us to get things working faster.   At  some  point  in  the
  139.  
  140.      future  we  will define a simpler, XNET-like protocol for control
  141.  
  142.      of the server; the message contents will be  the  same  as  those
  143.  
  144.      described here in any case.  The messages will be transmitted via
  145.  
  146.      UDP.
  147.  
  148.  
  149.  
  150.      2  Overview of TRAF and the subset described here
  151.  
  152.  
  153.           TRAF  consists  of  two  programs:    a controlling program,
  154.  
  155.      called the user program, which runs  on  a  Unix  system,  and  a
  156.  
  157.      server  program,  which  runs  on a PDP-11 (or LSI-11) under MOS.
  158.  
  159.      One user program can control many instances of the server.    The
  160.  
  161.      user  program  communicates with the servers via TCP connections,
  162.  
  163.      so the servers do not have to be on the same net as the user.
  164.  
  165.  
  166.                                      1
  167.      Bolt Beranek and Newman Inc.                              IEN 172
  168.  
  169.  
  170.  
  171.  
  172.           The user program provides three basic services:
  173.  
  174.  
  175.        1.  It accepts and executes the user's commands, entered at
  176.            a  terminal.    Often  these  commands  cause  the user
  177.            program to forward commands to a server.
  178.  
  179.        2.  It  displays  the  results  of  its  actions,  messages
  180.            received  from  the  servers,  and  the  status  of the
  181.            message generation activity it controls.
  182.  
  183.        3.  It performs various file handling  functions,  such  as
  184.            storing job definitions and command files.
  185.  
  186.  
  187.           The Server program provides three basic services:
  188.  
  189.  
  190.        1.  Packet  echo  delay  or TCP connection open/close delay
  191.            jobs.  These jobs generate messages.
  192.  
  193.        2.  Echo jobs.    These  just  echo  packets  after  a  TCP
  194.            connection has been established.
  195.  
  196.        3.  Special  TCP  and  UDP ports which act as raw echoes or
  197.            sinks (depending on the port number), without the  need
  198.            to open any connections.
  199.  
  200.  
  201.           A  full  TRAF  server  will perform these functions and also
  202.  
  203.      gather data about the delays it sees.  This  data  is  then  sent
  204.  
  205.      back  to the user program.  This specification deals with message
  206.  
  207.      generation but not with data gathering.  It describes a subset of
  208.  
  209.      the message generation commands which will allow control  by  the
  210.  
  211.      existing user program.
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.                                      2
  222.      IEN 172                              Bolt Beranek and Newman Inc.
  223.  
  224.  
  225.  
  226.  
  227.      3  The User-Server Interaction
  228.  
  229.  
  230.           When  the  server  starts  up  it  listens  on  TCP  port 51
  231.  
  232.      (decimal).  The user establishes a connection on  this  port  and
  233.  
  234.      this  causes  the  server to set up a process called the session,
  235.  
  236.      which then accepts commands from  the  user  program,  and  sends
  237.  
  238.      responses back to it, over the TCP connection.
  239.  
  240.  
  241.           Servers  without  a TCP will listen on UDP port 51 (decimal)
  242.  
  243.      for the messages from the user program.  The first  message  from
  244.  
  245.      the  user  program  will  be  a  "Set time and date" message (see
  246.  
  247.      below).
  248.  
  249.  
  250.           In addition, the user and server send echo requests, and the
  251.  
  252.      appropriate responses, to each other every 30 seconds,  to  check
  253.  
  254.      that the connection is still working.  If either end times out an
  255.  
  256.      echo request, then it closes the connection.  The timeout time is
  257.  
  258.      2 minutes.
  259.  
  260.  
  261.           A   session  can  be  in  a  number  of  states,  and  state
  262.  
  263.      transitions are caused by user commands.  The states used in this
  264.  
  265.      specification are:
  266.  
  267.  
  268.            o  Defined
  269.  
  270.            o  Started
  271.  
  272.            o  Aborted
  273.  
  274.            o  Ended
  275.  
  276.            o  Active
  277.  
  278.  
  279.                                      3
  280.      Bolt Beranek and Newman Inc.                              IEN 172
  281.  
  282.  
  283.  
  284.  
  285.           A  session  is  active  if  it  has active jobs running (see
  286.  
  287.      below).  The following is the state transition table:
  288.  
  289.  
  290.                                    SESSION  STATE
  291.                        +---------+---------+---------+----------+
  292.                        |         |         |         |          |
  293.                        | Defined | Started | Aborted |  Active  |
  294.                        |         |         |         |          |
  295.             C +--------+---------+---------+---------+----------+
  296.               |        |         |         |         |          |
  297.             O | Start  | started | error s3| started | error s3 |
  298.               |        |         |         |         |          |
  299.             M +--------+---------+---------+---------+----------+
  300.               |        |         |         |         |          |
  301.             M | Abort  | aborted | aborted |error s9 | aborted  |
  302.               |        |         |         |         |          |
  303.             A +--------+---------+---------+---------+----------+
  304.               |        |         |         |         |          |
  305.             N |  End   |  ended  |  ended  |  ended  |  ended   |
  306.               |        |         |         |         |          |
  307.             D +--------+---------+---------+---------+----------+
  308.  
  309.  
  310.  
  311.      Where an error is indicated, no state transition takes place.   A
  312.  
  313.      session  enters  the  Defined  state  when  the TCP connection is
  314.  
  315.      established.  A session that is ended goes  away  completely,  so
  316.  
  317.      there are no transitions from the Ended state.
  318.  
  319.  
  320.           Details  of  command  formats are given in section 4.  If an
  321.  
  322.      active session is aborted,  all  jobs  within  that  session  are
  323.  
  324.      ended.  (See below.)
  325.  
  326.  
  327.           A  session  creates  processes called jobs to do the message
  328.  
  329.      generation.  The full TRAF server  allows  multiple  jobs  to  be
  330.  
  331.      running   simultaneously  within  a  session,  but  this  is  not
  332.  
  333.  
  334.  
  335.  
  336.  
  337.                                      4
  338.      IEN 172                              Bolt Beranek and Newman Inc.
  339.  
  340.  
  341.  
  342.  
  343.      essential to the operation of the system; one only will do.
  344.  
  345.  
  346.           A  job  can be in one of several states.  The states we will
  347.  
  348.      use are:
  349.  
  350.  
  351.          Job       defined
  352.  
  353.                    started
  354.  
  355.                    aborted
  356.  
  357.                    done
  358.  
  359.                    ended.  (undefined)
  360.  
  361.  
  362.           As with sessions, job state transitions are caused  by  user
  363.  
  364.      commands.  The commands we will use are:
  365.  
  366.  
  367.            o  job start
  368.  
  369.            o  job abort
  370.  
  371.            o  job end
  372.  
  373.  
  374.           The state transition table is given below.  A job enters the
  375.  
  376.      Done state when it has run to completion, and when a job is ended
  377.  
  378.      it  goes  away  altogether,  i.e. its resources are freed; so, as
  379.  
  380.      with sessions, there are no transitions from the Ended state.
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.                                      5
  396.      Bolt Beranek and Newman Inc.                              IEN 172
  397.  
  398.  
  399.  
  400.  
  401.                                    JOB  STATE
  402.                        +---------+---------+---------+----------+
  403.                        |         |         |         |          |
  404.                        | Defined | Started | Aborted |   Done   |
  405.                        |         |         |         |          |
  406.             C +--------+---------+---------+---------+----------+
  407.               |        |         |         |         |          |
  408.             O | Start  | started | error j9| started | started  |
  409.               |        |         |         |         |          |
  410.             M +--------+---------+---------+---------+----------+
  411.               |        |         |         |         |          |
  412.             M | Abort  | aborted | aborted |error j16| aborted  |
  413.               |        |         |         |         |          |
  414.             A +--------+---------+---------+---------+----------+
  415.               |        |         |         |         |          |
  416.             N |  End   |  ended  |  ended  |  ended  |  ended   |
  417.               |        |         |         |         |          |
  418.             D +--------+---------+---------+---------+----------+
  419.  
  420.  
  421.  
  422.           A  job  is  initially  defined by an "assign and define job"
  423.  
  424.      command.  The argument list  for  this  command  includes  a  job
  425.  
  426.      number,  called  the  user job number, assigned to it by the user
  427.  
  428.      program.  The server assigns its own job number to  the  job  and
  429.  
  430.      returns   that   job   number   to   the   user  program  in  its
  431.  
  432.      acknowledgement;  all  further  references   to   that   job   in
  433.  
  434.      user-server  or  server-user messages use the job number assigned
  435.  
  436.      by the server.
  437.  
  438.  
  439.  
  440.      4  Message formats
  441.  
  442.  
  443.           Bits within fields are  numbered  according  to  the  PDP-11
  444.  
  445.      convention, i.e. bit 0 is the least significant bit.
  446.  
  447.  
  448.           All  communication  between  user  and server programs takes
  449.  
  450.  
  451.  
  452.  
  453.                                      6
  454.      IEN 172                              Bolt Beranek and Newman Inc.
  455.  
  456.  
  457.  
  458.  
  459.      place  over  a  TCP  connection.    The server listens on port 51
  460.  
  461.      (decimal) and the user host initiates the connection.
  462.  
  463.  
  464.           The first octet of every message is the opcode.  This opcode
  465.  
  466.      defines the operation required and determines  the  structure  of
  467.  
  468.      the rest of the message.  The next two sections list the opcodes,
  469.  
  470.      their  meanings,  and  the  argument  structure  (if  any) of the
  471.  
  472.      messages.  All numbers are in decimal.
  473.  
  474.  
  475.      4.1  User to Server Messages
  476.  
  477.  
  478.      Opcode  Meaning                       Argument Structure
  479.  
  480.         0    echo request                  octet to be echoed
  481.         1    echo response                 echoed octet
  482.         2    set time and date             version number, 16 bits
  483.                                            Unix format time and date,
  484.                                            32 bits
  485.         5    return job state information  job number, 1 octet
  486.         6    return session state
  487.         7    start session
  488.         11   abort session
  489.         12   end session
  490.         13   assign and define job         job definition block,
  491.                                            see below.
  492.  
  493.         14   start job                     job number, 1 octet
  494.         18   abort job                     job number, 1 octet
  495.         19   end job                       job number, 1 octet
  496.         20   error reset                   job number, 1 octet
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.                                      7
  512.      Bolt Beranek and Newman Inc.                              IEN 172
  513.  
  514.  
  515.  
  516.      4.2  Server to user Messages
  517.  
  518.      Opcode  Meaning                 Argument Structure
  519.  
  520.         0    echo request            octet to be echoed
  521.         1    echo response           echoed octet
  522.         2    set time and date
  523.         5    job state information   job number, 1 octet
  524.                                      job state vector, see below.
  525.         6    session state           session state vector, see below.
  526.         7    session started
  527.         11   session aborted
  528.         12   session ended
  529.         13   job assigned            server job number, 1 octet
  530.                                      user job number, 16 bits
  531.         14   job started             job number, 1 octet
  532.         18   job aborted             job number, 1 octet
  533.         19   job ended               job number, 1 octet
  534.         21   job complete            job number, 1 octet
  535.         22   error                   job number, 1 octet
  536.                                      number of characters in error
  537.                                      string, 16 bits
  538.                                      error string.
  539.  
  540.  
  541.  
  542.           Note that server-user opcode 19 (job ended) is a response to
  543.  
  544.      user-server   opcode   19  (end  job),  while  opcode  21  is  an
  545.  
  546.      asynchronous message indicating that the job has run to its end.
  547.  
  548.  
  549.           The response to any opcode not included  here  is  an  error
  550.  
  551.      message  for  that  opcode with the string "Limited server only".
  552.  
  553.      See error messages, below.
  554.  
  555.  
  556.      4.3  Argument Structures
  557.  
  558.  
  559.           These are the formats for the arguments whose format is  not
  560.  
  561.      fully specified in the preceding sections.
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.                                      8
  570.      IEN 172                              Bolt Beranek and Newman Inc.
  571.  
  572.  
  573.  
  574.  
  575.      4.3.1  Job Definition Block
  576.  
  577.  
  578.      Field Name                     Size (Octets)       See Note
  579.  
  580.      job option word                      2                1
  581.      job duration, low order              2                2
  582.      job duration, high order             2                2
  583.      destination net                      1
  584.      destination host                     1
  585.      destination tcp id                   1
  586.      destination logical host             1
  587.      number of outstanding packets        2
  588.      unused in this specification         2
  589.      lower limit of packet size           2
  590.      upper limit of packet size           2
  591.      unused in this specification        10
  592.      user job number                      2                3
  593.      job comment                         80                4
  594.  
  595.  
  596.           Notes:
  597.  
  598.  
  599.        1.  The  job  option  word  is  a  16  bit  field.  The bit
  600.            settings  relevant  here  are:  (bit  0  is  the  least
  601.            significant)
  602.  
  603.  
  604.            0               must  be  set.  Indicates an echo delay
  605.                            job.
  606.  
  607.            1               If  set,  the  server  will  send   UDP
  608.                            datagrams; if not, TCP datagrams.
  609.  
  610.            2               If  set, indicates that messages are to
  611.                            be  sent  to  the  sink  port  on   the
  612.                            destination host; if unset, to the echo
  613.                            port.
  614.  
  615.            3               Not used in this specification.
  616.  
  617.            4               Not used in this specification.
  618.  
  619.  
  620.        2.  Job duration is in units of 0.1 second.
  621.  
  622.        3.  The  user  job  number  is  sent  back  with  the  "job
  623.  
  624.  
  625.  
  626.  
  627.                                      9
  628.      Bolt Beranek and Newman Inc.                              IEN 172
  629.  
  630.  
  631.  
  632.  
  633.            assigned"  message,  along  with the server job number;
  634.            thereafter, only the server job number is used.
  635.  
  636.        4.  The job comment is not used by this limited server.
  637.  
  638.  
  639.      4.3.2  Job State Vector
  640.  
  641.  
  642.      Field Name                          Size(Octets)      See Note
  643.  
  644.      Job state word                            2              1
  645.      TCP state word                            2              2
  646.      (Internal information)                   26
  647.      low order of time left to run             2              3
  648.      high order of time left to run            2              3
  649.      unused in this specification              2
  650.      echo delay data queue                     4              4
  651.      unused in this specification              8
  652.  
  653.  
  654.  
  655.           Notes:
  656.  
  657.  
  658.        1.  The job state word has the following bit settings:
  659.  
  660.  
  661.            0               job defined
  662.  
  663.            1               job started
  664.  
  665.            3               job aborted
  666.  
  667.            5               job done
  668.  
  669.            10              job is an echo delay job
  670.  
  671.            11              job is currently active
  672.  
  673.            13              error sent (waiting for reset)
  674.  
  675.            14              restart process  after  tcp  connection
  676.                            closes
  677.  
  678.  
  679.            Bits  not  specified are not part of this specification
  680.            subset.
  681.  
  682.  
  683.  
  684.  
  685.                                     10
  686.      IEN 172                              Bolt Beranek and Newman Inc.
  687.  
  688.  
  689.  
  690.  
  691.        2.  The TCP state word has the following bit settings.
  692.  
  693.  
  694.            0               open wait
  695.  
  696.            1               send wait
  697.  
  698.            2               read wait
  699.  
  700.            3               close wait
  701.  
  702.            4               connection open
  703.  
  704.            5               abort connection
  705.  
  706.            6               close connection after write
  707.  
  708.            7               data  successfully read at some time on
  709.                            connection
  710.  
  711.            8               data successfully sent at some time  on
  712.                            connection
  713.  
  714.  
  715.        3.  The  time  left to run is a 32 bit quantity in units of
  716.            0.1 second.
  717.  
  718.        4.  Data queues consist of a pointer and  an  entry  count.
  719.            The  pointer  is  for internal use only and need not be
  720.            set; the entry count is just the number of items on the
  721.            queue.
  722.  
  723.  
  724.      4.3.3  Session State Vector
  725.  
  726.           A session state vector consists of 2  16-bit  fields.    The
  727.  
  728.      first is the session state, with bit settings as follows:
  729.  
  730.  
  731.         Bit
  732.          0     session is defined (tcp connection is open)
  733.          1     session is started and idle (no active jobs)
  734.          2     session is started and active
  735.          3
  736.          4     session is aborted.
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.                                     11
  744.      Bolt Beranek and Newman Inc.                              IEN 172
  745.  
  746.  
  747.  
  748.  
  749.           The  second  field  is the TCP status word, with settings as
  750.  
  751.      shown in 2. above.  (Job status vector)
  752.  
  753.  
  754.      4.4  Error Messages
  755.  
  756.  
  757.           The high order 2 bits in the server to user upcode are  used
  758.  
  759.      to  signal  an  error condition (bit 7) or message condition (bit
  760.  
  761.      6).  When either bit is  set,  a  string  is  returned  with  the
  762.  
  763.      opcode.  This string has the format:
  764.  
  765.  
  766.          number of characters in string, 1 octet
  767.          string, ASCII octets
  768.          null octet
  769.  
  770.  
  771.           If the opcode is normally followed by a job number then that
  772.  
  773.      precedes  the  string.   The error bit is set in the asynchronous
  774.  
  775.      error message (opcode 22).
  776.  
  777.  
  778.           If this limited server receives an opcode that it  does  not
  779.  
  780.      understand,  then  it  will  send  back  a message containing the
  781.  
  782.      opcode with the error bit set on,  and  an  error  string  saying
  783.  
  784.      "Limited server only".
  785.  
  786.  
  787.      4.4.1  Session Related Errors and Messages
  788.  
  789.           s1   Server identifying message.  For this limited server it
  790.  
  791.      will be "TRAF Limited Server.  Version n (<date>)".
  792.  
  793.  
  794.           This  is  sent  when  the server receives a time set command
  795.  
  796.      from the user.
  797.  
  798.  
  799.  
  800.  
  801.                                     12
  802.      IEN 172                              Bolt Beranek and Newman Inc.
  803.  
  804.  
  805.  
  806.  
  807.      s3        Session already started
  808.      s4        Session active, must be aborted
  809.      s9        Session already aborted
  810.  
  811.  
  812.           Errors  s3,  s4,  s9  are  sent in response to illegal state
  813.  
  814.      transition requests.
  815.  
  816.  
  817.      s12       No new jobs currently available.
  818.  
  819.  
  820.           This is sent when the server has no new jobs with  which  to
  821.  
  822.      satisfy an assign request.
  823.  
  824.  
  825.      s13       Illegal job number
  826.  
  827.  
  828.           This  is sent if the server receives a request containing an
  829.  
  830.      undefined job number.
  831.  
  832.  
  833.      s14       Server using a newer version of the TRAF protocol.
  834.      s15       Server using an older version of the TRAF protocol
  835.  
  836.  
  837.           The time set command contains  a  version  number;  if  this
  838.  
  839.      doesn't match the server's version number, s14 or s15 is returned
  840.  
  841.      and the TCP connection is closed.
  842.  
  843.  
  844.      s16       Echo request timeout, connection closed.
  845.  
  846.  
  847.  
  848.           If  the server doesn't get a response to one or its periodic
  849.  
  850.      echo requests within a 2  minutes,  it  sends  this  message  and
  851.  
  852.      closes the connection.
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.                                     13
  860.      Bolt Beranek and Newman Inc.                              IEN 172
  861.  
  862.  
  863.  
  864.  
  865.      4.4.2  Job Related Errors and Messages
  866.  
  867.  
  868.      j1        Connection error
  869.      j2        Dead foreign host
  870.      j3        TCP connection refused
  871.      j4        Unexpected connection close
  872.      j5        TCP/UDP buffer unavailable
  873.      j6        TCP send error
  874.  
  875.  
  876.  
  877.           These  are  messages  relating  to  errors  in the job's TCP
  878.  
  879.      connection, if any.
  880.  
  881.  
  882.      j9        Job already started
  883.      j15       Job was aborted
  884.      j16       Job already aborted
  885.      j19       Job done
  886.  
  887.  
  888.  
  889.           These are messages relating to job state transitions.
  890.  
  891.  
  892.  
  893.      5  Echo/Sink Servers
  894.  
  895.  
  896.           The server will echo any TCP or UDP packets sent to  port  7
  897.  
  898.      by  swapping  the source and destination addresses and ports, and
  899.  
  900.      sending the packet out again.  This means that, for TCP echo,  no
  901.  
  902.      TCP  connection  is  established  to  the  server; in effect, the
  903.  
  904.      connection is made by the source of the packets to itself.
  905.  
  906.  
  907.           Port 9 is the sink port.  UDP packets sent to port 9  should
  908.  
  909.      be  discarded  with  no  acknowledgement.    For  TCP the case is
  910.  
  911.      different, because even discarded packets must  be  acknowledged,
  912.  
  913.  
  914.  
  915.  
  916.  
  917.                                     14
  918.      IEN 172                              Bolt Beranek and Newman Inc.
  919.  
  920.  
  921.  
  922.  
  923.      so it will be necessary to open a TCP connection to port 9 to use
  924.  
  925.      it as a sink.  Servers which do not have a TCP will therefore not
  926.  
  927.      offer this facility.
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.                                     15
  976.